package com.java2_15;

import com.javademo1.Student;

public class java2_15 {
    //    public static void main(String[] args) {
//        Student s = new Student("zhangsan",20);
//        Teacher t = new Teacher("lisi",30);
//
//        show(s);
//        show(t);
//
//
//
//
//    }
//    public static void show(People p){
//        //子类对其进行重写所以使用子类
//        p.show();
//    }
//    public static void main(String[] args) {
//        Animal a = new Dog();
//
//        //调用成员变量是调用自己的
//        System.out.println(a.name);
//        //调用成员方法是调用子类重写的
//        a.show();
//        //强转之后就会改变类型
////        Dog d = (Dog) a;
////        d.eat();
////        System.out.println(d.name);
//        if(a instanceof Dog d){
//            System.out.println(d.name);
//        }
//        Cat c = new Cat();
//        show(c);
//        Animal b = new Cat();
//        if(b instanceof Cat z){
//            z.eat();
//        }
//        //多态的缺点：不能调用子类中的特有方法，必须进行强制转化
//    }
//    public static void show(Animal animal){
//        animal.show();
//    }
//    public static void main(String[] args) {
//        Dog1 d = new Dog1(5,"黑色");
//        Cat1 c = new Cat1(3,"白色");
//        People1 p = new People1("zhangsan",30);
//        p.KeepPet(d,"狗粮");
//        System.out.println("----------------------------------");
//        p.KeepPet(c,"猫粮");
//
//
//
//    }
//    public static void main(String[] args) {
//        //包和final
////        Student s = new Student("zhangsan",20,'男');
////        System.out.println(s.getName() + " " + s.getAge() + " " +
////                s.getSex());
////        Student s = new Student();
//        Student s = new Student("zhangsan",20,'男');
//        System.out.println(s.getName() + " " + s.getAge() + " " +
//                s.getSex());
//        //当导入第二个重名的类时就需要写全类名
//        com.javademo2.Student s1 = new com.javademo2.Student();
//
//
//
//    }
//    public static void main(String[] args) {
//        //final
//        //final修饰变量 -- 常量
//        //常量可以当作标签
////        final String NAME = "lisi";
////        //NAME = "zhangsan";
////        Student s = new Student(NAME,20,'女');
////        System.out.println(s.getName() + " " + s.getAge() + " " +
////                s.getSex());
////        final double d = 3.14;
////        d = 3.33;
//        //final修饰的方法不能被重写  --  规则不可改变的时候
//        //final修饰的类不能发生继承  --  工具类不需要继承
//
//
//
//    }
//    public static void main(String[] args) {
//        //权限修饰符： private < 缺省 < protected < public;
//        Animal1 a = new Animal1();
//        //a.color.sout
//        //System.out.println(a.color);
//        a.color = "black";
//        System.out.println(a.color);
//
//    }
    //代码块
    public static void main(String[] args) {
        //局部代码块
        {
            int a = 10;
        }
        //System.out.println(a);
        Animal1 a = new Animal1();
        //构造代码块会优先于构造器执行
        System.out.println(a.getAge());
        //在构造代码块里赋值可以赋予初始值
        System.out.println(Animal1.list);


    }


}
